More specifically, the invention relates to a technique to optimize the decoding of a signal modulated according to a multi-level coding or MLC technique.
To date, there are several known coded-modulation channel-coding techniques. Indeed, following Ungerboeck's discovery of lattice-coded modulation also known as MCT (“Channel Coding with Multilevel/Phase Signals”), described in IEEE Trans. IT, January 1982, 28, No. 1, pp. 55-67), block-coded modulation or BCM and trellis-coded multidimensional modulation have been proposed.
BCM type modulation has been described especially by Cusack in “Error control codes for QAM signaling>>, Electronics Letter, January 1984, 20, pp. 62-63 and Sayegh in “A class of optimum block codes in signal space”, IEEE Trans. COM, October 1986, 34, No. 10, pp. 1043-1045.
Trellis-coded multidimensional modulation has been described especially by Wei in “Trellis-coded Modulation with Multidimensional Constellations”, IEEE Trans. IT, July 1987, 33, n°4, pp. 483-501 and by Calderbank and Sloane in “New trellis codes based on lattices and cosets”, IEEE Trans. IT, March 1987, 33, No. 2, pp. 177-195.
Moderately complex trellis-coded modulation (typically with 4 or 8 states) may give a coding gain of 3 to 4 dB. However, in applications of high-capacity RF beams, the implementation of the Viterbi decoder, which is necessary to decode the modulation, is still very costly.
A new family of BCM codes is therefore being proposed for these particular applications. Such codes are simpler to implement, but their coding gain is generally limited to 2 dB.
An attractive coding technique for high-capacity RF beam applications has been proposed by Imai and Hirakawa in “A new multilevel coding method using error-correction codes” IEEE Trans. IT, May 1977, 23, No. 3, pp. 371-377. This is a technique of multi-level coding whose value lies in the existence of a simple step-by-step coding method, entailing an efficient compromise between performance and complexity of implementation.
Here below, a brief description is given of the principle of multi-level coding as well as the associated method of step-by-step decoding.
We consider a 2m-point constellation A0 capable, therefore, of transmitting m bits per symbol.
If m designates the number of bits to be coded, the constellation A0 is partitioned into m levels, thus giving 2m subsets. The principle of this partition is identical to the one defined by Ungerboeck, and serves to maximize the minimum Euclidean distance in the subsets of the partition. If di designates the minimum Euclidean distance in the subsets obtained at the ith partition level, the following inequality must be verified:d0<d1<d2< . . . <dm  (1)where d0 is the minimum distance in the constellation A0.
Thus, the m bits b1, b2, . . . , bm, where bi is the bit assigned to the ith level of the partition, select a subset among the 2m subsets. FIG. 1 gives a diagram of this partition where m=2. A0 is partitioned first of all into two subsets Bi, i∈·{0, 1} and where i=b1, with a minimum distance d1, then into four subsets Ci, i∈{0, 1, 2, 3} and where i=b1+2b2, with a minimum distance d2. If A0 is a square constellation with a Euclidean distance d0, then d1=√{square root over (2)}d0 and d2=√{square root over (2)}d1=2d0.
This process of assigning points of the constellation A0 is aimed at classifying the m bits that represent the symbol sent as a function of their vulnerability to noise. Indeed, it can be seen that the bit b2 is less vulnerable than the bit b1, since there is a minimum Euclidean distance of d2>d1 corresponding to it. According to the relationship (1), it can be shown that, if the bits bk, k=i−1 are sufficiently protected so that they are accurately received, the bit bi,i=m is better protected from noise than the other bits bj, j<i. It was therefore envisaged to code these bits separately with different codes.
This is the principle of multi-level coding which, after partitioning the constellation A0 into m levels, consists in using m coders Ei, i=1, . . . , m, to protect these m bits with several levels of protection.
In other words, the principle of multi-level coding relies on the joint optimization of the coding and of the modulation, enabling improved transmission performance to be achieved. Thus, in the context of a QAM (“Quadrature Amplitude Modulation”), greater protection is given to the bits which, owing to their position in the QAM mapping, are more likely to be affected by error. The protection given to the different bits depends on the coding used.
The pattern of this coding concept is illustrated in FIG. 2. The data stream to be transmitted, at a bit rate D, is divided by the series-parallel conversion block 21 into m streams with a bit rate Di, i=1, . . . , m. The m first strings are coded by m binary codes Ei(ni, ki, di), i=1, . . . , m, referenced 22, with a coding rate Ri=ki/ni and a minimum Hamming distance di. At the input to the modulator 23, the m binary strings must be synchronous, with a bit rate D′/m. It is therefore possible to define an equivalent coding rate R given byR=D/D′  (2)
If it is assumed that all the ni values are equal, giving ni=n, i=1, . . . , m, and that the m codes Ei are block codes, this coding can be described by a matrix structure identical to the one used for the BMCs described especially by Sayegh in the article mentioned here above. A code word contains n symbols and may be represented by a matrix of m rows and n columns where the jth column represents the binary assignment of the jth symbol of the block, and the ith row represents the ith partition level. The row i, i=1, . . . , m is a code word Ei (ni, ki, di). The minimum Euclidean distance d obtained with this coding is given byd2=mini=1 . . . , M+1(didi−12), with dm+1=1.  (3)
Knowing that the di values verify the above relationship (1), the multi-level coding is optimized if:d1>d2> . . . >dm.  (4))It has therefore been determined that the bit b1 had to be the most protected bit, then b2 etc. This matrix description can be generalized to the case where the codes would be any codes whatsoever. If the ni values are not identical, it is enough to consider a matrix with m rows and l columns where l is the least common multiple of the ni values, i=l, . . . , m. In the particular case where one of the codes is the convolutive code, the matrix to be considered is semi-infinite.
The decoding method classically used in association with a multi-level coding of this kind is a sub-optimal step-by-step decoding, which has the advantage of being very simple to implement.
According to this technique, the decoding method is done step-by-step where each bit is decoded independently by a simple decoder working on hard decisions but where the output of the decoder (i) may make a correction on the bits at the input of the decoder (i+1). FIG. 3 gives a block diagram of this type of decoder, where m=2. Given (r1, r2, . . . , rn) the block 31 of n symbols received at the input of the decoder, the decoding operation is performed in the following successive steps:                first of all the n bits bi1, i=1, . . . , n assigned to the first partitioning level (A0) are decoded: a hard decision 32 in A0 is effected every ri, i=1, . . . , n. Thus a first estimation of bi1, i=1, . . . , n, is obtained written {tilde over (b)}1i, i=1, . . . , n. A hard-decision decoding 33 working on {tilde over (b)}1i, i=1, . . . , n gives a final estimation written {tilde over (b)}1i, i=1, . . . , n.        then the n bits bi2, i=1, . . . , n. assigned to the second partition level (B0 or B1) are decoded: as a function of the bits {tilde over (b)}1i, i=1, . . . , n which are encoded by the same encoder used at transmission, a second decision operation 34 is effected on the symbols ri, i=1, . . . , n in the subsets Bpi with pi={tilde over (b)}1i for i=1, . . . , n. The bits {tilde over (b)}2i, i=1, . . . , n obtained are decoded by the decoder “2” referenced 35 to give a final decision {tilde over (b)}2i, i=1, . . . , n.        finally, the remaining non-coded bits are decoded: from the bits {circumflex over (b)}1i, {circumflex over (b)}2i, i=1, . . . , n, recoded by their associated coder, a third detection 36 is made of ri, i=1, . . . , n, in the subsets of the second partition level Ci, i=1, . . . , n. Thus, an estimation of the m−2 remaining non-coded bits is obtained for each of the symbols ri, i=1, . . . , n.        
According to the decoding technique associated with multi-level coding or MLC, the first decoding is therefore done systematically in the subset A0 of the constellation. The result of this decoding is then exploited for the decoding of the next subset B0. A decoding technique of this kind is described especially in the article by L. Papke and K. Fazel, “Different Iterative Decoding Algorithms for Combined Concatenated Coding and Multiresolution Modulation” on the terrestrial broadcasting of television signals, coded according to a multi-level coding technique. More specifically, this document by Papke describes a solution based on multi-level coding and decoding to obtain three streams related to three different services, the SDTV stream being more robust than the EDTV stream, which is itself more robust than the HDTV stream. This Papke technique is aimed at protecting the most important streams, in accentuating the robustness of the level with which they are associated. In practice, according to the Papke decoding technique, an estimation is made first of all of the ui1 bits assigned to the 2m-point constellation, then the ui2 bits assigned to the subsets of the constellation corresponding to ui1, etc.
Now, for an MLC to be optimal, the decoding gain that must be obtained between the different coding levels is 6 dB, which is very difficult to obtain.
One drawback of this prior art technique therefore is that the decoding method conventionally implemented in the context of MLC coding shows mediocre performance.
In particular, such a technique of sub-optimal step-by-step decoding is poorly adapted to channels presenting additive Gaussian noise and Doppler-affected multiple-path channels.
It is a goal of the invention especially to overcome these drawbacks of the prior art.